package demo8

import (
	"fmt"
	"time"
)

// TestDemo84 使用 for range 遍历通道数据
func TestDemo84() {
	// 构建一个通道
	ch := make(chan int)

	// 开启一个并发匿名函数
	go func() {
		// 循环 3 -> 0
		for i := 3; i >= 0; i-- {
			// 发送 3 到 0 到通道
			ch <- i

			// 每次发送完时等待
			time.Sleep(time.Second)
		}
	}()

	// 遍历接受 channel 数据
	for data := range ch {
		// 打印通道数据
		fmt.Println(data)

		// 当遇到 0 时，退出循环
		if data == 0 {
			break
		}
	}
}
